package com.dc.refactoring._2_在对象之间搬移特性._2_MoveField.newObject;

/**
 * Description: 搬移字段_当前的搬移方式_2 保留里 源属性的 set 和 get 方法 (很多函数使用了源字段)
 * @author: gdc
 * @date: 2020/11/14
 * @version 1.0
 */
public class Account2 {
    private AccountType accountType;

    public double interestForAmount_days(double amount, int days) {
        // 【4】调用原 自封装字段
        return getInterestRate() * amount * days / 365;
    }

    // 【2】保留原 set 和 get 方法
    public double getInterestRate() {
        // 【3】将属性和设置和获取指向目标对象
        return accountType.getInterestRate();
    }

    public void setInterestRate(double value) {
        accountType.setInterestRate(value);
    }
}
